package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.domain.Punishment;
import com.example.domain.User;

import java.util.List;

/**
* @author HP
* @description 针对表【punishment】的数据库操作Service
* @createDate 2025-08-18 19:33:15
*/
public interface PunishmentService extends IService<Punishment> {

    /**
     * 添加惩罚记录
     * @param punishment 惩罚信息
     * @return 是否添加成功
     */
    boolean addPunishment(Punishment punishment);

    /**
     * 更新惩罚记录
     * @param punishment 惩罚信息
     * @return 是否更新成功
     */
    boolean updatePunishment(Punishment punishment);

    /**
     * 删除惩罚记录
     * @param id 惩罚ID
     * @return 是否删除成功
     */
    boolean deletePunishment(Long id);

    /**
     * 根据用户ID查询惩罚记录
     * @param userId 用户ID
     * @return 惩罚记录列表
     */
    List<Punishment> getPunishmentsByUserId(Long userId);

    /**
     * 查询所有未处理的惩罚记录
     * @return 未处理惩罚记录列表
     */
    List<Punishment> getUnprocessedPunishments();

    /**
     * 处理惩罚
     * @param id 惩罚ID
     * @param handlerId 处理人ID
     * @param remark 处理备注
     * @return 是否处理成功
     */
    boolean processPunishment(Long id, Long handlerId, String remark);
}
